package com.tron.utils.tron;
import java.math.BigInteger;

/**
 * @description:
 * @projectName:Tron
 * @see:com.tron.utils.tron
 * @author:yst
 * @createTime:2022/11/28 17:13
 * version:
 **/
public interface Trc10Service {
    /**
     * 查询trc10数量 如果精度为6 那么1trc10就是1000000
     *
     * @param tokenId
     * @param address
     * @return
     */
    BigInteger balanceOf(long tokenId, String address);

    /**
     * 发起trc20转账
     *
     * @param privateKey 转出trc20的地址
     * @param tokenId    trc10对应的tokenId
     * @param to         收款地址
     * @param amount     转出数量 带上进度 例如精度为6 那么1trc20就需要填1000000
     * @param remark     备注信息
     * @return
     */
    String transfer(String privateKey, long tokenId, String to, BigInteger amount, String remark);
    /**
     * 发起trc20转账，转出地址为配置私钥对应地址
     *
     * @param tokenId trc10对应的tokenId
     * @param to      收款地址
     * @param amount  转出数量 带上进度 例如精度为6 那么1trc20就需要填1000000
     * @param remark  备注信息
     * @return
     */
    String transfer(long tokenId, String to, BigInteger amount, String remark);
}
